package com.qfmy.config;

import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 配置跨域请求
 */
@Configuration
@SuppressWarnings("all")
public class CorsConfig implements WebMvcConfigurer {

    /**
     * 配置跨域请求
     * @param registry
     */
    @Override
    public void addCorsMappings(@NotNull CorsRegistry registry) {
        registry
            .addMapping("/**") // ① 对所有路径生效（可按需调整，如 "/api/**"）
            .allowedOriginPatterns("*") // ② 允许所有来源（生产环境需限定域名，如 "https://your-domain.com"）
            .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // ③ 允许的HTTP方法
            .allowedHeaders("*") // ④ 允许所有请求头（可按需限定，如 "Content-Type, Authorization"）
            .allowCredentials(true) // ⑤ 是否允许携带Cookie（若为true，allowedOriginPatterns不能用*）
            .maxAge(3600L); // ⑥ 预检请求缓存时间（秒），减少重复预检
    }
}